package cn.doitedu.day07

import cn.doitedu.day01.utils.SparkUtil
import com.alibaba.fastjson.JSON

/**
 * @Date 22.4.6
 * @Created by HANGGE
 * @Description
 */
object C02_累加器_案例 {
  def main(args: Array[String]): Unit = {
    val sc = SparkUtil.getSc
    val dataRDD = sc.textFile("data/movie.txt")
    // 定义累加器
    val cnt = sc.longAccumulator("cnt")
    dataRDD.foreach(line=>{
      try {
        val bean = JSON.parseObject(line, classOf[MovieBean])
      } catch {
            // 匹配异常
        case e:Exception => cnt.add(1)  // 累加器累加
      }
    })
   // 打印最终结果
    println(s"处理的数据中有脏数据:  ${cnt.value} 条 ")

  }

}
